package com.xianzhiOA.service.impl;/**
 * Created by Administrator on 2017/5/15.
 */

import com.github.pagehelper.PageHelper;
import com.xianzhiOA.bean.XzTempletBaseInfo;
import com.xianzhiOA.dao.XzTempletBaseInfoMapper;
import com.xianzhiOA.service.XzTempletBaseInfoService;
import com.xianzhiOA.util.PageBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 申请基础表的信息
 *
 * @author 王诗博
 * @create 2017-05-15 16:07
 **/
@Service("TempletBaseInfoService")
public class XzTempletBaseInfoServiceImpl implements XzTempletBaseInfoService {
     @Autowired
     private XzTempletBaseInfoMapper xzTempletBaseInfoMapper;


    @Override
    public Long insert(XzTempletBaseInfo templetBaseInfo) {
        Long templetBaseInfoId=null;
        xzTempletBaseInfoMapper.insert(templetBaseInfo);
        templetBaseInfoId= templetBaseInfo.getTempletBaseInfoId();
        return templetBaseInfoId;
    }

    @Override
    public PageBean<XzTempletBaseInfo> selAll(XzTempletBaseInfo xzTempletBaseInfo, int page, int rows,String beginStr,String endStr) {
        PageHelper.startPage(page,rows);
        Map<String,Object> map=MakeQ(xzTempletBaseInfo);

        Date begin=null;
        Date end=null;
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        if(beginStr != null) {
            try {
                begin=sdf.parse(beginStr);
            } catch (ParseException e) {
                e.printStackTrace();
            }
            System.out.println(" Service中begin:"+begin);
            map.put("beginDate", begin);
        }
        if(endStr != null && endStr!=""){
            try {
                end=sdf.parse(endStr);
            } catch (ParseException e) {
                e.printStackTrace();
            }
            map.put("endDate",end);
        }
        List<XzTempletBaseInfo> baseInfoList=xzTempletBaseInfoMapper.selAll(map);
        PageBean<XzTempletBaseInfo> pb=new PageBean<>(baseInfoList);
        return pb;
    }
    private  Map<String,Object> MakeQ(XzTempletBaseInfo  xzTempletBaseInfo){
        Map<String,Object> hashMap=new  HashMap<>();
        hashMap.put("templetName",xzTempletBaseInfo.getTempletName());
        hashMap.put("auditStatus",xzTempletBaseInfo.getAuditStatus());
        hashMap.put("applicant",xzTempletBaseInfo.getApplicant());
        return  hashMap;
    }

    //撤回申请（删除基本实例表的方法）
    @Override
    public int phoneyDeleteByPrimaryKey(XzTempletBaseInfo templetExtendInfo) {
        int i=0;
        i=xzTempletBaseInfoMapper.phoneyDeleteByPrimaryKey(templetExtendInfo);
        return i;
    }

    //根据主键查询
    public XzTempletBaseInfo  selectByPrimaryKey(Long templetBaseInfoId){
        XzTempletBaseInfo templetBaseInfo=xzTempletBaseInfoMapper.selectByPrimaryKey(templetBaseInfoId);
        return templetBaseInfo;
    }

    //修改模板基础实例表中的状态
    @Override
    public int updateState(Long templetBaseInfoId,String auditStatus,String newApproval) {
        int i=0;
        Map map=new HashMap();
        map.put("templetBaseInfoId",templetBaseInfoId);
        map.put("auditStatus",auditStatus);
        map.put("newApproval",newApproval);
        i=xzTempletBaseInfoMapper.updateState(map);
        return i;
    }



}
